Systems and methods for determining mobile device status

ABSTRACT

Method and system for determining a status of a mobile device of a user are disclosed. For example, the method includes receiving first sensor data at a first time from an application installed on a mobile device of a user, determining a first location of the mobile device, immediately subsequent to receiving the first sensor data at the first time, receiving second sensor data at a second time from the application, the second time following the first time by a time interval, determining a second location of the mobile device, determining a distance between the first location and the second location, determining whether the distance corresponding to the time interval exceeds a predetermined threshold, and determining whether a trip log indicative of at least one trip during the time interval is received from the application.

FIELD OF THE DISCLOSURE

Some embodiments of the present disclosure are directed to determining astatus of a mobile device. More particularly, certain embodiments of thepresent disclosure provide methods and systems for determining a statusof a mobile device of a user based at least in part upon a receipt ofsensor data of the mobile device. Merely by way of example, the presentdisclosure has been applied to determining that the mobile device isworking properly and that the sensor data is reliable. But it would berecognized that the present disclosure has much broader range ofapplicability.

BACKGROUND OF THE DISCLOSURE

An application installed on mobile devices of users may provide datagenerated by one or more sensors of the mobile devices that is relatedto user behaviors, such as driving behaviors. Such data may be used togenerate alert notifications to the users that may reduce the likelihoodof a collision or other damage occurring to the vehicles or the users.In other words, the use of the application may function to mitigate orprevent driving risks. Hence it is highly desirable to develop moreaccurate techniques for determining that the mobile device is workingproperly to provide reliable sensor data.

BRIEF SUMMARY OF THE DISCLOSURE

Some embodiments of the present disclosure are directed to determining astatus of a mobile device. More particularly, certain embodiments of thepresent disclosure provide methods and systems for determining a statusof a mobile device of a user based at least in part upon a receipt ofsensor data of the mobile device. Merely by way of example, the presentdisclosure has been applied to determining that the mobile device isworking properly and that the sensor data is reliable. But it would berecognized that the present disclosure has much broader range ofapplicability.

According to some embodiments, a method for determining a status of amobile device of a user includes receiving first sensor data at a firsttime from an application installed on a mobile device of a user anddetermining a first location of the mobile device based at least in partupon the first sensor data. The first location corresponds to the firsttime. The method further includes immediately subsequent to receivingthe first sensor data at the first time, receiving second sensor data ata second time from the application and determining a second location ofthe mobile device based at least in part upon the second sensor data.The second time follows the first time by a time interval, and thesecond location corresponds to the second time. Additionally, the methodincludes determining a distance between the first location and thesecond location. The distance corresponds to the time interval from thefirst time to the second time. Moreover, the method includes determiningwhether the distance corresponding to the time interval exceeds apredetermined threshold and determining whether a trip log indicative ofat least one trip during the time interval is received from theapplication.

According to certain embodiments, a computing device for determining astatus of a mobile device of a user includes one or more processors anda memory that stores instructions for execution by the one or moreprocessors. The instructions, when executed, cause the one or moreprocessors to receive first sensor data at a first time from anapplication installed on a mobile device of a user and determine a firstlocation of the mobile device based at least in part upon the firstsensor data. The first location corresponds to the first time. Also, theinstructions, when executed, cause the one or more processors toimmediately subsequent to receiving the first sensor data at the firsttime, receive second sensor data at a second time from the applicationand determine a second location of the mobile device based at least inpart upon the second sensor data. The second time follows the first timeby a time interval, and the second location corresponds to the secondtime. Additionally, the instructions, when executed, cause the one ormore processors to determine a distance between the first location andthe second location. The distance corresponds to the time interval fromthe first time to the second time. Moreover, the instructions, whenexecuted, cause the one or more processors to determine whether thedistance corresponding to the time interval exceeds a predeterminedthreshold and determine whether a trip log indicative of at least onetrip during the time interval is received from the application.

According to some embodiments, a non-transitory computer-readable mediumstores instructions for determining a status of a mobile device of auser. The instructions are executed by one or more processors of acomputing device. The non-transitory computer-readable medium includesinstructions to receive first sensor data at a first time from anapplication installed on a mobile device of a user and determine a firstlocation of the mobile device based at least in part upon the firstsensor data. The first location corresponds to the first time. Also, thenon-transitory computer-readable medium includes instructions toimmediately subsequent to receiving the first sensor data at the firsttime, receive second sensor data at a second time from the applicationand determine a second location of the mobile device based at least inpart upon the second sensor data. The second time follows the first timeby a time interval, and the second location corresponds to the secondtime. Additionally, the non-transitory computer-readable medium includesinstructions to determine a distance between the first location and thesecond location. The distance corresponds to the time interval from thefirst time to the second time. Moreover, the non-transitorycomputer-readable medium includes instructions to determine whether thedistance corresponding to the time interval exceeds a predeterminedthreshold and determine whether a trip log indicative of at least onetrip during the time interval is received from the application.

Depending upon the embodiment, one or more benefits may be achieved.These benefits and various additional objects, features and advantagesof the present disclosure can be fully appreciated with reference to thedetailed description and accompanying drawings that follow.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified diagram showing a method for determining a statusof a mobile device of a user according to certain embodiments of thepresent disclosure.

FIGS. 2A and 2B are simplified diagrams showing a method for determininga status of a mobile device of a user according to some embodiments ofthe present disclosure.

FIGS. 3A and 3B are simplified diagrams showing a method for determininga status of a mobile device of a user according to certain embodimentsof the present disclosure.

FIG. 4 is a simplified diagram showing a system for determining a statusof a mobile device of a user according to certain embodiments of thepresent disclosure.

DETAILED DESCRIPTION OF THE DISCLOSURE

Some embodiments of the present disclosure are directed to determining astatus of a mobile device. More particularly, certain embodiments of thepresent disclosure provide methods and systems for determining a statusof a mobile device of a user based at least in part upon a receipt ofsensor data of the mobile device. Merely by way of example, the presentdisclosure has been applied to determining that the mobile device isworking properly and that the sensor data is reliable. But it would berecognized that the present disclosure has much broader range ofapplicability.

I. One or More Methods for Determining a Status of a Mobile DeviceAccording to Certain Embodiments

FIG. 1 is a simplified diagram showing a method 100 for determining astatus of a mobile device of a user according to certain embodiments ofthe present disclosure. This diagram is merely an example, which shouldnot unduly limit the scope of the claims. One of ordinary skill in theart would recognize many variations, alternatives, and modifications. Inthe illustrative embodiment, the method 100 is performed by a computingdevice (e.g., a server 406 that is communicatively coupled to the mobiledevice). However, it should be appreciated that, in some embodiments,some of the method 100 is performed by the mobile device.

The method 100 includes process 102 for receiving a first set of sensordata at a first time from an application installed on a mobile device ofa user, process 104 for determining a first location of the mobiledevice based at least in part upon the first set of sensor data, process106 for receiving a second set of sensor data at a second time from theapplication, process 108 for determining a second location of the mobiledevice based at least in part upon the second set of sensor data,process 110 for determining a distance between the first location andthe second location, process 112 for determining whether the distancecorresponding to the time interval exceeds a predetermined threshold,and process 114 for determining whether a trip log indicative of atleast one trip during the time interval is received from theapplication. Although the above has been shown using a selected group ofprocesses for the method, there can be many alternatives, modifications,and variations. For example, some of the processes may be expandedand/or combined. Other processes may be inserted to those noted above.Depending upon the embodiment, the sequence of processes may beinterchanged with others replaced. For example, although the method 100is described as performed by the computing device above, some or allprocesses of the method are performed by any computing device or aprocessor directed by instructions stored in memory. As an example, someor all processes of the method are performed according to instructionsstored in a non-transitory computer-readable medium.

Specifically, at the process 102, the application that is installed onthe mobile device is configured to transmit the first set of sensor datathat was collected and/or generated by one or more sensors of the mobiledevice according to some embodiments. For example, the applicationbroadcasts the first set of sensor data to be received by nearby devicesand/or directly transmits the first set of sensor data to a destinationcomputing device (e.g., a server that is communicatively coupled to themobile device). In response, the computing device receives the first setof sensor data at the first time. According to certain embodiments, thefirst set of sensor data includes information related to a user activity(e.g., driving behavior). As an example, the user driving behaviorrepresents a manner in which the user has operated a vehicle. Forexample, the user driving behavior indicates the user's driving habitsand/or driving patterns.

According to some embodiments, the first set of sensor data indicativeof the user driving behavior is collected from one or more sensorsassociated with the user's mobile device. For example, the one or moresensors include any type and number of accelerometers, gyroscopes,magnetometers, location sensors (e.g., GPS sensors), and/or any othersuitable sensors that measure the state and/or movement of the mobiledevice. In certain embodiments, the first set of sensor data iscollected continuously or at predetermined time intervals. According tocertain embodiments, the first set of sensor data is collected based ona triggering event. For example, the first set of sensor data iscollected when each sensor has acquired a threshold amount of sensormeasurements.

According to some embodiments, the application is configured to transmitthe first set of sensor data periodically every first predetermined timeinterval when the application is triggered by a predetermined event. Forexample, in other words, the application works properly in thebackground and does not transmit any sensor data until the predeterminedevent occurs. As an example, this reduces a battery power consumptionand preserves battery life. For example, the predetermined event is adriving event. According to certain embodiments, the applicationdetermines the driving event based on the sensor data collected orgenerated by the mobile device. Additionally or alternatively, theapplication receives an input from the user that indicates that the useris driving according to certain embodiments.

According to some embodiments, the computing device determines that theapplication has been installed on the mobile device of the user if thecomputing device receives or detects the first set of sensor data thatis transmitted by the application. However, in some other embodiments,the computing device determines that the application has been installedon the mobile device by monitoring a download of the application on themobile device and/or a usage of the application by the user of themobile device (e.g., account login activities).

At the process 104, the first location of the mobile device isdetermined based at least in part upon the first set of sensor datareceived from the mobile device. In the illustrative embodiment, thefirst location corresponds to the first time. For example, the firstlocation of the mobile device corresponds to the location at which themobile device was located at the time of the first set of sensor datawas received. However, in some embodiments, the first location of themobile device corresponds to the location at which the mobile device waslocated at the time of the first set of sensor data was generated orcollected by the mobile device.

At the process 106, the application that is installed on the mobiledevice is configured to transmit the second set of sensor data that wascollected and/or generated by one or more sensors of the mobile deviceaccording to some embodiments. For example, the application broadcaststhe second set of sensor data to be received by nearby devices and/ordirectly transmits the second set of sensor data to a destinationcomputing device (e.g., a server that is communicatively coupled to themobile device). In response, the computing device receives the secondset of sensor data at the second time. In the illustrative embodiment,the second set of sensor data is a set of sensor data that is receivedfrom the mobile device by the computing device immediately subsequent toreceiving the first set of sensor data. In other words, the second timefollows the first time by a time interval, such that the second set ofsensor data is the next sensor data that is being transmitted subsequentto the transmission of the first set of sensor data. However, it shouldbe appreciated that, in some embodiments, the computing device mayreceive data from the mobile device. It should be appreciated that, incertain embodiments, the second set of sensor data includes sensor datathat has been collected or generated from the same sensors of the mobiledevice that generated the first set of sensor data.

According to certain embodiments, the second set of sensor data includesinformation related to a user activity (e.g., driving behavior). As anexample, the user driving behavior represents a manner in which the userhas operated a vehicle. For example, the user driving behavior indicatesthe user's driving habits and/or driving patterns.

According to some embodiments, the second set of sensor data indicativeof the user driving behavior is collected from one or more sensorsassociated with the user's mobile device. For example, the one or moresensors include any type and number of accelerometers, gyroscopes,magnetometers, location sensors (e.g., GPS sensors), and/or any othersuitable sensors that measure the state and/or movement of the mobiledevice. In certain embodiments, the second set of sensor data iscollected continuously or at predetermined time intervals. According tocertain embodiments, the second set of sensor data is collected based ona triggering event. For example, the second set of sensor data iscollected when each sensor has acquired a threshold amount of sensormeasurements.

According to some embodiments, the application is configured to transmitthe second set of sensor data periodically every second predeterminedtime interval when the application is triggered by a predeterminedevent. For example, in other words, the application works properly inthe background and does not transmit any sensor data until thepredetermined event occurs. It should be appreciated that, in someembodiments, the second predetermined time interval is the same as thefirst predetermined time interval. As an example, this reduces a batterypower consumption and preserves battery life. For example, thepredetermined event is a driving event. According to certainembodiments, the application determines the driving event based on thesensor data collected or generated by the mobile device. Additionally oralternatively, the application receives an input from the user thatindicates that the user is driving according to certain embodiments.

At the process 108, the second location of the mobile device isdetermined based at least in part upon the second set of sensor datareceived from the mobile device. In the illustrative embodiment, thesecond location corresponds to the second time. For example, the secondlocation of the mobile device corresponds to the location at which themobile device was located at the time of the second set of sensor datawas received. However, in some embodiments, the second location of themobile device corresponds to the location at which the mobile device waslocated at the time of the second set of sensor data was generated orcollected by the mobile device.

At the process 110, the distance between the first location and thesecond location is determined. In the illustrative embodiment, thedistance corresponds to the time interval from the first time to thesecond time. In other words, the computing device determines thedistance that the mobile device has travelled between the first locationat the first time and the second location at the second time. It shouldbe appreciated that no sensor data has been received from theapplication of the mobile device between the first time and the secondtime.

At the process 112, the computing device determines whether the distancecorresponding to the time interval exceeds the predetermined threshold.According to some embodiments, the predetermined threshold indicates adistance that is expected or estimated based upon a time durationbetween the first time and the second time. According to certainembodiments, the predetermined threshold is tailored to the user of themobile device. For example, the predetermined threshold is based upon alife routine or pattern of the user (e.g., a driving pattern) at aparticular time of a day, a particular time of a week, a particular timeof a month, a particular time of a year, or any combination thereof. Insome embodiments, these user data are obtained directly from the user ordetermined and/or predicted based on the previous sensor data. Forexample, if the user typically drives 20 miles to and from work between8 AM-9 AM and 5 PM-6 PM, 5 days (Mondays to Fridays) a week, thepredetermined threshold between those time slots is set to 25 miles.

According to some embodiments, the predetermined threshold is determinedusing one or more machine learning algorithms, programs, modules, ormodels based upon the historical sensor data and/or information receivedfrom the user. According to certain embodiments, the predeterminedthreshold is defined and provided by the insurer.

In the illustrative embodiment, the computing device determines that thefirst and second sensor data is unreliable if the distance between thefirst and second locations exceeds the predetermined threshold. Forexample, in some embodiments, the distance exceeding the predeterminedthreshold indicates that the mobile device was turned off between thefirst time and the second time. In certain embodiments, the distanceexceeding the predetermined threshold indicates that the application ofthe mobile device was inactivated or not working properly between thefirst and the second time.

At the process 114, if the computing device determines that the distancebetween the first and second locations exceeds the predeterminedthreshold, the computing device determines that the mobile device is notfunctioning properly between the first time and the second timeaccording to some embodiments. For example, if the mobile device was notfunctioning properly, then the sensor data may not be accurate orreliable. To confirm the reliability of the first and the second data,the computing device determines whether the trip log is received fromthe application of the mobile device. The trip log indicates at leastone trip during the time interval.

According to some embodiments, the application of the mobile devicecollects and logs trip data based upon a triggering event. For example,the application detects the triggering event when one or more sensors ofthe mobile device acquires a respective threshold amount of sensormeasurements associated with the triggering event. In some embodiments,if the triggering event is a driving event, the application isconfigured to detect whether the mobile device is located in a movingvehicle based at least upon the sensor measurements. For example, if themobile device is detected to be located in the moving vehicle, theapplication determines that a trip has started and collects trip dataassociated with the trip. In such example, the trip is logged, and thetrip data is stored on the mobile device. For example, the trip log islogged in an internal memory 418 of the mobile device 402 as shown inFIG. 4 .

In some embodiments, the trip log includes detailed sensor data from oneor more sensors of the mobile device indicative of driving behavior. Incertain embodiments, the mobile device communicates with the vehicle toobtain vehicle operation data. In such embodiments, the trip log furtherincludes vehicle operation data received from the vehicle.

As discussed above, according to some embodiments, the sensor data isnot continuously collected or generated by the one or more sensors ofthe mobile device. Even if the sensor data is continuously generated,the trip log is not transmitted continuously throughout the day as thesensor data is being generated to preserve battery power according tosome embodiments. Instead, in certain embodiments, the application isconfigured to transmit the trip log to the computing device everypredetermined time interval. For example, the application transmits thetrip data every 12 or 24 hours. In some embodiments, the applicationtransmits the trip log to the computing device at a predetermined time(e.g., at 11 PM) or at a predetermined time duration (e.g., between 11PM-1 AM). In certain embodiments, the application transmits the trip logto the computing device when one or more predefined conditions aresatisfied. For example, the application transmits the trip log between 8PM-1 AM if the mobile device is connected to a Wi-Fi network and/or abattery charger.

In the illustrative embodiment, if the computing device determines thatthe distance between the first and second locations exceeds thepredetermined threshold and the trip log has not been received from theapplication of the mobile device, the computing device determines thatthe mobile device is not functioning properly between the first time andthe second time. For example, the mobile device may have been turned offbetween the first and the second time.

FIGS. 2A and 2B are simplified diagrams showing a method 200 fordetermining a status of a mobile device of a user according to certainembodiments of the present disclosure. This diagram is merely anexample, which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. In the illustrative embodiment, the method 200 isperformed by a computing device (e.g., a server 406 that iscommunicatively coupled to the mobile device). However, it should beappreciated that, in some embodiments, some of the method 200 isperformed by the mobile device.

The method 200 includes process 202 for receiving a first set of sensordata at a first time from an application installed on a mobile device ofa user, process 204 for determining a first location of the mobiledevice based at least in part upon the first set of sensor data, process206 for receiving a second set of sensor data at a second time from theapplication, process 208 for determining a second location of the mobiledevice based at least in part upon the second set of sensor data,process 210 for determining a distance between the first location andthe second location, process 212 for determining whether the distancecorresponding to the time interval exceeds a predetermined threshold,process 214 for determining whether a trip log indicative of at leastone trip during the time interval is received from the application, andprocess 216 for transmitting a notification to the user that the mobiledevice does not work properly for the application in response to (i) thedistance exceeding the predetermined threshold and (ii) the trip logbeing not received from the application. Although the above has beenshown using a selected group of processes for the method, there can bemany alternatives, modifications, and variations. For example, some ofthe processes may be expanded and/or combined. Other processes may beinserted to those noted above. Depending upon the embodiment, thesequence of processes may be interchanged with others replaced. Forexample, although the method 200 is described as performed by thecomputing device above, some or all processes of the method areperformed by any computing device or a processor directed byinstructions stored in memory. As an example, some or all processes ofthe method are performed according to instructions stored in anon-transitory computer-readable medium.

Specifically, at the process 202, the application that is installed onthe mobile device is configured to transmit the first set of sensor datathat was collected and/or generated by one or more sensors of the mobiledevice according to some embodiments. For example, the applicationbroadcasts the first set of sensor data to be received by nearby devicesand/or directly transmits the first set of sensor data to a destinationcomputing device (e.g., a server that is communicatively coupled to themobile device). In response, the computing device receives the first setof sensor data at the first time. According to certain embodiments, thefirst set of sensor data includes information related to a user activity(e.g., driving behavior). As an example, the user driving behaviorrepresents a manner in which the user has operated a vehicle. Forexample, the user driving behavior indicates the user's driving habitsand/or driving patterns.

According to some embodiments, the first set of sensor data indicativeof the user driving behavior is collected from one or more sensorsassociated with the user's mobile device. For example, the one or moresensors include any type and number of accelerometers, gyroscopes,magnetometers, location sensors (e.g., GPS sensors), and/or any othersuitable sensors that measure the state and/or movement of the mobiledevice. In certain embodiments, the first set of sensor data iscollected continuously or at predetermined time intervals. According tocertain embodiments, the first set of sensor data is collected based ona triggering event. For example, the first set of sensor data iscollected when each sensor has acquired a threshold amount of sensormeasurements.

According to some embodiments, the application is configured to transmitthe first set of sensor data periodically every first predetermined timeinterval when the application is triggered by a predetermined event. Forexample, in other words, the application works properly in thebackground and does not transmit any sensor data until the predeterminedevent occurs. As an example, this reduces a battery power consumptionand preserves battery life. For example, the predetermined event is adriving event. According to certain embodiments, the applicationdetermines the driving event based on the sensor data collected orgenerated by the mobile device. Additionally or alternatively, theapplication receives an input from the user that indicates that the useris driving according to certain embodiments.

According to some embodiments, the computing device determines that theapplication has been installed on the mobile device of the user if thecomputing device receives or detects the first set of sensor data thatis transmitted by the application. However, in some other embodiments,the computing device determines that the application has been installedon the mobile device by monitoring a download of the application on themobile device and/or a usage of the application by the user of themobile device (e.g., account login activities).

At the process 204, the first location of the mobile device isdetermined based at least in part upon the first set of sensor datareceived from the mobile device. In the illustrative embodiment, thefirst location corresponds to the first time. For example, the firstlocation of the mobile device corresponds to the location at which themobile device was located at the time of the first set of sensor datawas received. However, in some embodiments, the first location of themobile device corresponds to the location at which the mobile device waslocated at the time of the first set of sensor data was generated orcollected by the mobile device.

At the process 206, the application that is installed on the mobiledevice is configured to transmit the second set of sensor data that wascollected and/or generated by one or more sensors of the mobile deviceaccording to some embodiments. For example, the application broadcaststhe second set of sensor data to be received by nearby devices and/ordirectly transmits the second set of sensor data to a destinationcomputing device (e.g., a server that is communicatively coupled to themobile device). In response, the computing device receives the secondset of sensor data at the second time. In the illustrative embodiment,the second set of sensor data is a set of sensor data that is receivedfrom the mobile device by the computing device immediately subsequent toreceiving the first set of sensor data. In other words, the second timefollows the first time by a time interval, such that the second set ofsensor data is the next sensor data that is being transmitted subsequentto the transmission of the first set of sensor data. However, it shouldbe appreciated that, in some embodiments, the computing device mayreceive data from the mobile device. It should be appreciated that, incertain embodiments, the second set of sensor data includes sensor datathat has been collected or generated from the same sensors of the mobiledevice that generated the first set of sensor data.

According to certain embodiments, the second set of sensor data includesinformation related to a user activity (e.g., driving behavior). As anexample, the user driving behavior represents a manner in which the userhas operated a vehicle. For example, the user driving behavior indicatesthe user's driving habits and/or driving patterns.

According to some embodiments, the second set of sensor data indicativeof the user driving behavior is collected from one or more sensorsassociated with the user's mobile device. For example, the one or moresensors include any type and number of accelerometers, gyroscopes,magnetometers, location sensors (e.g., GPS sensors), and/or any othersuitable sensors that measure the state and/or movement of the mobiledevice. In certain embodiments, the second set of sensor data iscollected continuously or at predetermined time intervals. According tocertain embodiments, the second set of sensor data is collected based ona triggering event. For example, the second set of sensor data iscollected when each sensor has acquired a threshold amount of sensormeasurements.

According to some embodiments, the application is configured to transmitthe second set of sensor data periodically every second predeterminedtime interval when the application is triggered by a predeterminedevent. For example, in other words, the application works properly inthe background and does not transmit any sensor data until thepredetermined event occurs. It should be appreciated that, in someembodiments, the second predetermined time interval is the same as thefirst predetermined time interval. As an example, this reduces a batterypower consumption and preserves battery life. For example, thepredetermined event is a driving event. According to certainembodiments, the application determines the driving event based on thesensor data collected or generated by the mobile device. Additionally oralternatively, the application receives an input from the user thatindicates that the user is driving according to certain embodiments.

At the process 208, the second location of the mobile device isdetermined based at least in part upon the second set of sensor datareceived from the mobile device. In the illustrative embodiment, thesecond location corresponds to the second time. For example, the secondlocation of the mobile device corresponds to the location at which themobile device was located at the time of the second set of sensor datawas received. However, in some embodiments, the second location of themobile device corresponds to the location at which the mobile device waslocated at the time of the second set of sensor data was generated orcollected by the mobile device.

At the process 210, the distance between the first location and thesecond location is determined. In the illustrative embodiment, thedistance corresponds to the time interval from the first time to thesecond time. In other words, the computing device determines thedistance that the mobile device has travelled between the first locationat the first time and the second location at the second time. It shouldbe appreciated that no sensor data has been received from theapplication of the mobile device between the first time and the secondtime.

At the process 212, the computing device determines whether the distancecorresponding to the time interval exceeds the predetermined threshold.According to some embodiments, the predetermined threshold indicates adistance that is expected or estimated based upon a time durationbetween the first time and the second time. According to certainembodiments, the predetermined threshold is tailored to the user of themobile device. For example, the predetermined threshold is based upon alife routine or pattern of the user (e.g., a driving pattern) at aparticular time of a day, a particular time of a week, a particular timeof a month, a particular time of a year, or any combination thereof. Insome embodiments, these user data are obtained directly from the user ordetermined and/or predicted based on the previous sensor data. Forexample, if the user typically drives 20 miles to and from work between8 AM-9 AM and 5 PM-6 PM, 5 days (Mondays to Fridays) a week, thepredetermined threshold between those time slots is set to 25 miles.

According to some embodiments, the predetermined threshold is determinedusing one or more machine learning algorithms, programs, modules, ormodels based upon the historical sensor data and/or information receivedfrom the user. According to certain embodiments, the predeterminedthreshold is defined and provided by the insurer.

In the illustrative embodiment, the computing device determines that thefirst and second sensor data is unreliable if the distance between thefirst and second locations exceeds the predetermined threshold. Forexample, in some embodiments, the distance exceeding the predeterminedthreshold indicates that the mobile device was turned off between thefirst time and the second time. In certain embodiments, the distanceexceeding the predetermined threshold indicates that the application ofthe mobile device was inactivated or not working properly between thefirst and the second time.

At the process 214, if the computing device determines that the distancebetween the first and second locations exceeds the predeterminedthreshold, the computing device determines that the mobile device is notfunctioning properly between the first time and the second timeaccording to some embodiments. For example, if the mobile device was notfunctioning properly, then the sensor data may not be accurate orreliable. To confirm the reliability of the first and the second data,the computing device determines whether the trip log is received fromthe application of the mobile device. The trip log indicates at leastone trip during the time interval.

According to some embodiments, the application of the mobile devicecollects and logs trip data based upon a triggering event. For example,the application detects the triggering event when one or more sensors ofthe mobile device acquires a respective threshold amount of sensormeasurements associated with the triggering event. In some embodiments,if the triggering event is a driving event, the application isconfigured to detect whether the mobile device is located in a movingvehicle based at least upon the sensor measurements. For example, if themobile device is detected to be located in the moving vehicle, theapplication determines that a trip has started and collects trip dataassociated with the trip. In such example, the trip is logged, and thetrip data is stored on the mobile device. For example, the trip log islogged in an internal memory 418 of the mobile device 402 as shown inFIG. 4 .

In some embodiments, the trip log includes detailed sensor data from oneor more sensors of the mobile device indicative of driving behavior. Incertain embodiments, the mobile device communicates with the vehicle toobtain vehicle operation data. In such embodiments, the trip log furtherincludes vehicle operation data received from the vehicle.

As discussed above, according to some embodiments, the sensor data isnot continuously collected or generated by the one or more sensors ofthe mobile device. Even if the sensor data is continuously generated,the trip log is not transmitted continuously throughout the day as thesensor data is being generated to preserve battery power according tosome embodiments. Instead, in certain embodiments, the application isconfigured to transmit the trip log to the computing device everypredetermined time interval. For example, the application transmits thetrip data every 12 or 24 hours. In some embodiments, the applicationtransmits the trip log to the computing device at a predetermined time(e.g., at 11 PM) or at a predetermined time duration (e.g., between 11PM-1 AM). In certain embodiments, the application transmits the trip logto the computing device when one or more predefined conditions aresatisfied. For example, the application transmits the trip log between 8PM-1 AM if the mobile device is connected to a Wi-Fi network and/or abattery charger.

In the illustrative embodiment, if the computing device determines thatthe distance between the first and second locations exceeds thepredetermined threshold and the trip log has not been received from theapplication of the mobile device, the computing device determines thatthe mobile device is not functioning properly between the first time andthe second time. For example, the mobile device may have been turned offbetween the first and the second time.

At the process 216, in response to determining that the distance exceedsthe predetermined threshold and that the trip log has not been receivedfrom the application, the computing device transmits a notification tothe user that the mobile device is not working properly for theapplication. For example, the notification notifies the user that themobile device was not working properly between the first time and thesecond time and asks the user to verify that the mobile device isworking properly and is communicating with the application. According tosome embodiments, the notification includes instructions how totroubleshoot the application. As an example, the instructions furtherinclude contact information (e.g., a phone number and/or an emailaddress) for technical support. According to certain embodiments, thenotification includes a message from the insurer that the amount ofinsurance discount may be updated or adjusted if the mobile device isnot working properly for the application to provide the sensor data.

According to some embodiments, receiving the first set of sensor datafrom the application installed on the mobile device of the user in theprocess 102 as shown in FIG. 1 is performed by the process 202 as shownin FIG. 2A. According to certain embodiments, determining the firstlocation in the process 104 as shown in FIG. 1 is performed by theprocess 204 as shown in FIG. 2A. According to some embodiments,receiving the second set of sensor data in the process 106 as shown inFIG. 1 is performed by the process 206 as shown in FIG. 2A. According tocertain embodiments, determining the second location in the process 108as shown in FIG. 1 is performed by the process 208 as shown in FIG. 2A.According to some embodiments, determining the distance between thefirst location and the second location in the process 110 as shown inFIG. 1 is performed by the process 210 as shown in FIG. 2B. According tocertain embodiments, determining whether the distance exceeds thepredetermined threshold in the process 112 as shown in FIG. 1 isperformed by the process 212 as shown in FIG. 2B. According to certainembodiments, determining whether the trip log was received from theapplication in the process 114 as shown in FIG. 1 is performed by theprocess 214 as shown in FIG. 2B.

FIGS. 3A and 3B are simplified diagrams showing a method 300 fordetermining a status of a mobile device of a user according to certainembodiments of the present disclosure. This diagram is merely anexample, which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. In the illustrative embodiment, the method 300 isperformed by a computing device (e.g., a server 406 that iscommunicatively coupled to the mobile device). However, it should beappreciated that, in some embodiments, some of the method 300 isperformed by the mobile device.

The method 300 includes process 302 for receiving a first set of sensordata at a first time from an application installed on a mobile device ofa user, process 304 for determining a first location of the mobiledevice based at least in part upon the first set of sensor data, process306 for receiving a second set of sensor data at a second time from theapplication, process 308 for determining a second location of the mobiledevice based at least in part upon the second set of sensor data,process 310 for determining a distance between the first location andthe second location, process 312 for determining whether the distancecorresponding to the time interval exceeds a predetermined threshold,process 314 for determining whether a trip log indicative of at leastone trip during the time interval is received from the application,process 316 for transmitting a notification to the user that the mobiledevice does not work properly for the application in response to (i) thedistance exceeding the predetermined threshold and (ii) the trip logbeing not received from the application, process 318 for updating oradjusting an amount of insurance discount in response to (i) thedistance exceeding the predetermined threshold and (ii) the trip beingnot recorded between the first time and the second time, and process 320for transmitting a notification to the user of the mobile deviceindicating that the amount of insurance discount has been updated oradjusted. Although the above has been shown using a selected group ofprocesses for the method, there can be many alternatives, modifications,and variations. For example, some of the processes may be expandedand/or combined. Other processes may be inserted to those noted above.Depending upon the embodiment, the sequence of processes may beinterchanged with others replaced. For example, although the method 300is described as performed by the computing device above, some or allprocesses of the method are performed by any computing device or aprocessor directed by instructions stored in memory. As an example, someor all processes of the method are performed according to instructionsstored in a non-transitory computer-readable medium.

Specifically, at the process 302, the application that is installed onthe mobile device is configured to transmit the first set of sensor datathat was collected and/or generated by one or more sensors of the mobiledevice according to some embodiments. For example, the applicationbroadcasts the first set of sensor data to be received by nearby devicesand/or directly transmits the first set of sensor data to a destinationcomputing device (e.g., a server that is communicatively coupled to themobile device). In response, the computing device receives the first setof sensor data at the first time. According to certain embodiments, thefirst set of sensor data includes information related to a user activity(e.g., driving behavior). As an example, the user driving behaviorrepresents a manner in which the user has operated a vehicle. Forexample, the user driving behavior indicates the user's driving habitsand/or driving patterns.

According to some embodiments, the first set of sensor data indicativeof the user driving behavior is collected from one or more sensorsassociated with the user's mobile device. For example, the one or moresensors include any type and number of accelerometers, gyroscopes,magnetometers, location sensors (e.g., GPS sensors), and/or any othersuitable sensors that measure the state and/or movement of the mobiledevice. In certain embodiments, the first set of sensor data iscollected continuously or at predetermined time intervals. According tocertain embodiments, the first set of sensor data is collected based ona triggering event. For example, the first set of sensor data iscollected when each sensor has acquired a threshold amount of sensormeasurements.

According to some embodiments, the application is configured to transmitthe first set of sensor data periodically every first predetermined timeinterval when the application is triggered by a predetermined event. Forexample, in other words, the application works properly in thebackground and does not transmit any sensor data until the predeterminedevent occurs. As an example, this reduces a battery power consumptionand preserves battery life. For example, the predetermined event is adriving event. According to certain embodiments, the applicationdetermines the driving event based on the sensor data collected orgenerated by the mobile device. Additionally or alternatively, theapplication receives an input from the user that indicates that the useris driving according to certain embodiments.

According to some embodiments, the computing device determines that theapplication has been installed on the mobile device of the user if thecomputing device receives or detects the first set of sensor data thatis transmitted by the application. However, in some other embodiments,the computing device determines that the application has been installedon the mobile device by monitoring a download of the application on themobile device and/or a usage of the application by the user of themobile device (e.g., account login activities).

At the process 304, the first location of the mobile device isdetermined based at least in part upon the first set of sensor datareceived from the mobile device. In the illustrative embodiment, thefirst location corresponds to the first time. For example, the firstlocation of the mobile device corresponds to the location at which themobile device was located at the time of the first set of sensor datawas received. However, in some embodiments, the first location of themobile device corresponds to the location at which the mobile device waslocated at the time of the first set of sensor data was generated orcollected by the mobile device.

At the process 306, the application that is installed on the mobiledevice is configured to transmit the second set of sensor data that wascollected and/or generated by one or more sensors of the mobile deviceaccording to some embodiments. For example, the application broadcaststhe second set of sensor data to be received by nearby devices and/ordirectly transmits the second set of sensor data to a destinationcomputing device (e.g., a server that is communicatively coupled to themobile device). In response, the computing device receives the secondset of sensor data at the second time. In the illustrative embodiment,the second set of sensor data is a set of sensor data that is receivedfrom the mobile device by the computing device immediately subsequent toreceiving the first set of sensor data. In other words, the second timefollows the first time by a time interval, such that the second set ofsensor data is the next sensor data that is being transmitted subsequentto the transmission of the first set of sensor data. However, it shouldbe appreciated that, in some embodiments, the computing device mayreceive data from the mobile device. It should be appreciated that, incertain embodiments, the second set of sensor data includes sensor datathat has been collected or generated from the same sensors of the mobiledevice that generated the first set of sensor data.

According to certain embodiments, the second set of sensor data includesinformation related to a user activity (e.g., driving behavior). As anexample, the user driving behavior represents a manner in which the userhas operated a vehicle. For example, the user driving behavior indicatesthe user's driving habits and/or driving patterns.

According to some embodiments, the second set of sensor data indicativeof the user driving behavior is collected from one or more sensorsassociated with the user's mobile device. For example, the one or moresensors include any type and number of accelerometers, gyroscopes,magnetometers, location sensors (e.g., GPS sensors), and/or any othersuitable sensors that measure the state and/or movement of the mobiledevice. In certain embodiments, the second set of sensor data iscollected continuously or at predetermined time intervals. According tocertain embodiments, the second set of sensor data is collected based ona triggering event. For example, the second set of sensor data iscollected when each sensor has acquired a threshold amount of sensormeasurements.

According to some embodiments, the application is configured to transmitthe second set of sensor data periodically every second predeterminedtime interval when the application is triggered by a predeterminedevent. For example, in other words, the application works properly inthe background and does not transmit any sensor data until thepredetermined event occurs. It should be appreciated that, in someembodiments, the second predetermined time interval is the same as thefirst predetermined time interval. As an example, this reduces a batterypower consumption and preserves battery life. For example, thepredetermined event is a driving event. According to certainembodiments, the application determines the driving event based on thesensor data collected or generated by the mobile device. Additionally oralternatively, the application receives an input from the user thatindicates that the user is driving according to certain embodiments.

At the process 308, the second location of the mobile device isdetermined based at least in part upon the second set of sensor datareceived from the mobile device. In the illustrative embodiment, thesecond location corresponds to the second time. For example, the secondlocation of the mobile device corresponds to the location at which themobile device was located at the time of the second set of sensor datawas received. However, in some embodiments, the second location of themobile device corresponds to the location at which the mobile device waslocated at the time of the second set of sensor data was generated orcollected by the mobile device.

At the process 310, the distance between the first location and thesecond location is determined. In the illustrative embodiment, thedistance corresponds to the time interval from the first time to thesecond time. In other words, the computing device determines thedistance that the mobile device has travelled between the first locationat the first time and the second location at the second time. It shouldbe appreciated that no sensor data has been received from theapplication of the mobile device between the first time and the secondtime.

At the process 312, the computing device determines whether the distancecorresponding to the time interval exceeds the predetermined threshold.According to some embodiments, the predetermined threshold indicates adistance that is expected or estimated based upon a time durationbetween the first time and the second time. According to certainembodiments, the predetermined threshold is tailored to the user of themobile device. For example, the predetermined threshold is based upon alife routine or pattern of the user (e.g., a driving pattern) at aparticular time of a day, a particular time of a week, a particular timeof a month, a particular time of a year, or any combination thereof. Insome embodiments, these user data are obtained directly from the user ordetermined and/or predicted based on the previous sensor data. Forexample, if the user typically drives 20 miles to and from work between8 AM-9 AM and 5 PM-6 PM, 5 days (Mondays to Fridays) a week, thepredetermined threshold between those time slots is set to 25 miles.

According to some embodiments, the predetermined threshold is determinedusing one or more machine learning algorithms, programs, modules, ormodels based upon the historical sensor data and/or information receivedfrom the user. According to certain embodiments, the predeterminedthreshold is defined and provided by the insurer.

In the illustrative embodiment, the computing device determines that thefirst and second sensor data is unreliable if the distance between thefirst and second locations exceeds the predetermined threshold. Forexample, in some embodiments, the distance exceeding the predeterminedthreshold indicates that the mobile device was turned off between thefirst time and the second time. In certain embodiments, the distanceexceeding the predetermined threshold indicates that the application ofthe mobile device was inactivated or not working properly between thefirst and the second time.

At the process 314, if the computing device determines that the distancebetween the first and second locations exceeds the predeterminedthreshold, the computing device determines that the mobile device is notfunctioning properly between the first time and the second timeaccording to some embodiments. For example, if the mobile device was notfunctioning properly, then the sensor data may not be accurate orreliable. To confirm the reliability of the first and the second data,the computing device determines whether the trip log is received fromthe application of the mobile device. The trip log indicates at leastone trip during the time interval.

According to some embodiments, the application of the mobile devicecollects and logs trip data based upon a triggering event. For example,the application detects the triggering event when one or more sensors ofthe mobile device acquires a respective threshold amount of sensormeasurements associated with the triggering event. In some embodiments,if the triggering event is a driving event, the application isconfigured to detect whether the mobile device is located in a movingvehicle based at least upon the sensor measurements. For example, if themobile device is detected to be located in the moving vehicle, theapplication determines that a trip has started and collects trip dataassociated with the trip. In such example, the trip is logged, and thetrip data is stored on the mobile device. For example, the trip log islogged in an internal memory 418 of the mobile device 402 as shown inFIG. 4 .

In some embodiments, the trip log includes detailed sensor data from oneor more sensors of the mobile device indicative of driving behavior. Incertain embodiments, the mobile device communicates with the vehicle toobtain vehicle operation data. In such embodiments, the trip log furtherincludes vehicle operation data received from the vehicle.

As discussed above, according to some embodiments, the sensor data isnot continuously collected or generated by the one or more sensors ofthe mobile device. Even if the sensor data is continuously generated,the trip log is not transmitted continuously throughout the day as thesensor data is being generated to preserve battery power according tosome embodiments. Instead, in certain embodiments, the application isconfigured to transmit the trip log to the computing device everypredetermined time interval. For example, the application transmits thetrip data every 12 or 24 hours. In some embodiments, the applicationtransmits the trip log to the computing device at a predetermined time(e.g., at 11 PM) or at a predetermined time duration (e.g., between 11PM-1 AM). In certain embodiments, the application transmits the trip logto the computing device when one or more predefined conditions aresatisfied. For example, the application transmits the trip log between 8PM-1 AM if the mobile device is connected to a Wi-Fi network and/or abattery charger.

In the illustrative embodiment, if the computing device determines thatthe distance between the first and second locations exceeds thepredetermined threshold and the trip log has not been received from theapplication of the mobile device, the computing device determines thatthe mobile device is not functioning properly between the first time andthe second time. For example, the mobile device may have been turned offbetween the first and the second time.

At the process 316, in response to determining that the distance exceedsthe predetermined threshold and that the trip log has not been receivedfrom the application, the computing device transmits a notification tothe user that the mobile device is not working properly for theapplication. For example, the notification notifies the user that themobile device was not working properly between the first time and thesecond time and asks the user to verify that the mobile device isworking properly and is communicating with the application. According tosome embodiments, the notification includes instructions how totroubleshoot the application. As an example, the instructions furtherinclude contact information (e.g., a phone number and/or an emailaddress) for technical support. According to certain embodiments, thenotification includes a message from the insurer that the amount ofinsurance discount may be updated or adjusted if the mobile device isnot working properly for the application to provide the sensor data.

At the process 318, the computing device is configured to update oradjust the amount of insurance discount in response to determining thatthe distance between the first and second locations exceeds thethreshold and the trip has not been recorded between the first andsecond times according to some embodiments. According to certainembodiments, the user receives an initial discount from an insurer forinstalling the application and authorizing the application to transmitthe set of sensor data collected and/or generated by one or more sensorsof the mobile device. For example, as discussed above, the sensor dataincludes information related to a user activity, such as drivingbehavior. As an example, the sensor data provided by the applicationrelated to the driving behavior of the user is used to generate alertnotifications to the user that may reduce the likelihood of a collisionor other damage occurring to the vehicle or the user. In other words,because the use of the application functions to mitigate or preventdriving risks upon which an insurance policy is partially based, theinsurer provides an additional discount to the user for installing andcontinuing to use the application according to some embodiments. Assuch, for example, in response to determining that the application isnot working properly to provide the sensor data, the insurancediscounts, premiums, rates, points, or programs is calculated, updated,and/or adjusted. In certain embodiments, the updated or adjustedinsurance discount, premiums, rates, points, or programs is communicatedto the user for the user's review, modification, and/or approval.

At the process 320, the computing device transmits the notification tothe user of the mobile device indicating that the amount of insurancediscount has been updated or adjusted according to some embodiments. Forexample, the notification further includes one or more correctiveactions that the user may take in order to qualify for one or moreinsurance discounts.

According to some embodiments, receiving the first set of sensor datafrom the application installed on the mobile device of the user in theprocess 102 as shown in FIG. 1 and/or in the process 202 as shown inFIG. 2A is performed by the process 302 as shown in FIG. 3A. Accordingto certain embodiments, determining the first location in the process104 as shown in FIG. 1 and/or in process 204 as shown in FIG. 2A isperformed by the process 304 as shown in FIG. 3A. According to someembodiments, receiving the second set of sensor data in the process 106as shown in FIG. 1 and/or in process 206 as shown in FIG. 2A isperformed by the process 306 as shown in FIG. 3A. According to certainembodiments, determining the second location in the process 108 as shownin FIG. 1 and/or in process 208 as shown in FIG. 2A is performed by theprocess 308 as shown in FIG. 3A. According to some embodiments,determining the distance between the first location and the secondlocation in the process 110 as shown in FIG. 1 and/or in process 210 asshown in FIG. 2B is performed by the process 310 as shown in FIG. 3B.According to certain embodiments, determining whether the distanceexceeds the predetermined threshold in the process 112 as shown in FIG.1 and/or in process 212 as shown in FIG. 2B is performed by the process312 as shown in FIG. 3B. According to certain embodiments, determiningwhether the trip log was received from the application in the process114 as shown in FIG. 1 and/or in process 214 as shown in FIG. 2B isperformed by the process 314 as shown in FIG. 3B.

II. One or More Systems for Determining a Status of a Mobile DeviceAccording to Certain Embodiments

FIG. 4 is a simplified diagram showing a system for determining a statusof a mobile device of a user according to certain embodiments of thepresent disclosure. This diagram is merely an example, which should notunduly limit the scope of the claims. One of ordinary skill in the artwould recognize many variations, alternatives, and modifications. In theillustrative embodiment, the system 400 includes a mobile device 402, anetwork 404, and a server 406. Although the above has been shown using aselected group of components for the system, there can be manyalternatives, modifications, and variations. For example, some of thecomponents may be expanded and/or combined. Other components may beinserted to those noted above. Depending upon the embodiment, thearrangement of components may be interchanged with others replaced.

In various embodiments, the system 400 is used to implement the method100, the method 200, and/or the method 300. According to certainembodiments, the mobile device 402 is communicatively coupled to theserver 406 via the network 404. As an example, the mobile device 402includes one or more processors 416 (e.g., a central processing unit(CPU), a graphics processing unit (GPU)), a memory 418 (e.g.,random-access memory (RAM), read-only memory (ROM), flash memory), acommunications unit 420 (e.g., a network transceiver), a display unit422 (e.g., a touchscreen), and one or more sensors 424 (e.g., anaccelerometer, a gyroscope, a magnetometer, a location sensor). Forexample, the one or more sensors 424 are configured to generate sensordata. According to some embodiments, the data are collectedcontinuously, at predetermined time intervals, and/or based on atriggering event (e.g., when each sensor has acquired a threshold amountof sensor measurements).

In some embodiments, the mobile device 402 is operated by the user. Forexample, the user installs an application associated with an insurer onthe mobile device 402 and allows the application to communicate with theone or more sensors 424 to collect sensor data. According to someembodiments, the application collects the sensor data continuously, atpredetermined time intervals, and/or based on a triggering event (e.g.,when each sensor has acquired a threshold amount of sensormeasurements). In certain embodiments, the sensor data represents theuser's activity/behavior, such as the user driving behavior, in themethod 100, the method 200, and/or the method 300.

According to certain embodiments, the collected data are stored in thememory 418 before being transmitted to the server 406 using thecommunications unit 422 via the network 404 (e.g., via a local areanetwork (LAN), a wide area network (WAN), the Internet). In someembodiments, the collected data are transmitted directly to the server406 via the network 404. In certain embodiments, the collected data aretransmitted to the server 406 via a third party. For example, a datamonitoring system stores any and all data collected by the one or moresensors 424 and transmits those data to the server 406 via the network404 or a different network.

According to certain embodiments, the server 406 includes a processor430 (e.g., a microprocessor, a microcontroller), a memory 432, acommunications unit 434 (e.g., a network transceiver), and a datastorage 436 (e.g., one or more databases). In some embodiments, theserver 406 is a single server, while in certain embodiments, the server406 includes a plurality of servers with distributed processing. As anexample, in FIG. 4 , the data storage 436 is shown to be part of theserver 406. In some embodiments, the data storage 436 is a separateentity coupled to the server 406 via a network such as the network 404.In certain embodiments, the server 406 includes various softwareapplications stored in the memory 432 and executable by the processor430. For example, these software applications include specific programs,routines, or scripts for performing functions associated with the method100, the method 200, and/or the method 300. As an example, the softwareapplications include general-purpose software applications for dataprocessing, network communication, database management, web serveroperation, and/or other functions typically performed by a server.

According to various embodiments, the server 406 receives, via thenetwork 404, the sensor data collected by the one or more sensors 424from the application using the communications unit 434 and stores thedata in the data storage 436. For example, the server 406 then processesthe data to perform one or more processes of the method 100, one or moreprocesses of the method 200, and/or one or more processes of the method300.

According to certain embodiments, the notification in response to theapplication being determined not working properly in the method 100, themethod 200, and/or the method 300 is transmitted back to the mobiledevice 402, via the network 404, to be provided (e.g., displayed) to theuser via the display unit 422.

In some embodiments, one or more processes of the method 100, one ormore processes of the method 200, and/or one or more processes of themethod 300 are performed by the mobile device 402. For example, theprocessor 416 of the mobile device 402 processes the data collected bythe one or more sensors 424 to perform one or more processes of themethod 100, one or more processes of the method 200, and/or one or moreprocesses of the method 300.

III. Examples of Certain Embodiments of the Present Disclosure

According to some embodiments, a method for determining a status of amobile device of a user includes receiving first sensor data at a firsttime from an application installed on a mobile device of a user anddetermining a first location of the mobile device based at least in partupon the first sensor data. The first location corresponds to the firsttime. The method further includes immediately subsequent to receivingthe first sensor data at the first time, receiving second sensor data ata second time from the application and determining a second location ofthe mobile device based at least in part upon the second sensor data.The second time follows the first time by a time interval, and thesecond location corresponds to the second time. Additionally, the methodincludes determining a distance between the first location and thesecond location. The distance corresponds to the time interval from thefirst time to the second time. Moreover, the method includes determiningwhether the distance corresponding to the time interval exceeds apredetermined threshold and determining whether a trip log indicative ofat least one trip during the time interval is received from theapplication. For example, the method is implemented according to atleast FIG. 1 , FIGS. 2A and 2B, and/or FIGS. 3A and 3B.

According to certain embodiments, a computing device for determining astatus of a mobile device of a user includes one or more processors anda memory that stores instructions for execution by the one or moreprocessors. The instructions, when executed, cause the one or moreprocessors to receive first sensor data at a first time from anapplication installed on a mobile device of a user and determine a firstlocation of the mobile device based at least in part upon the firstsensor data. The first location corresponds to the first time. Also, theinstructions, when executed, cause the one or more processors toimmediately subsequent to receiving the first sensor data at the firsttime, receive second sensor data at a second time from the applicationand determine a second location of the mobile device based at least inpart upon the second sensor data. The second time follows the first timeby a time interval, and the second location corresponds to the secondtime. Additionally, the instructions, when executed, cause the one ormore processors to determine a distance between the first location andthe second location. The distance corresponds to the time interval fromthe first time to the second time. Moreover, the instructions, whenexecuted, cause the one or more processors to determine whether thedistance corresponding to the time interval exceeds a predeterminedthreshold and determine whether a trip log indicative of at least onetrip during the time interval is received from the application. Forexample, the computing device is implemented according to at least FIG.4 .

According to some embodiments, a non-transitory computer-readable mediumstores instructions for determining a status of a mobile device of auser. The instructions are executed by one or more processors of acomputing device. The non-transitory computer-readable medium includesinstructions to receive first sensor data at a first time from anapplication installed on a mobile device of a user and determine a firstlocation of the mobile device based at least in part upon the firstsensor data. The first location corresponds to the first time. Also, thenon-transitory computer-readable medium includes instructions toimmediately subsequent to receiving the first sensor data at the firsttime, receive second sensor data at a second time from the applicationand determine a second location of the mobile device based at least inpart upon the second sensor data. The second time follows the first timeby a time interval, and the second location corresponds to the secondtime. Additionally, the non-transitory computer-readable medium includesinstructions to determine a distance between the first location and thesecond location. The distance corresponds to the time interval from thefirst time to the second time. Moreover, the non-transitorycomputer-readable medium includes instructions to determine whether thedistance corresponding to the time interval exceeds a predeterminedthreshold and determine whether a trip log indicative of at least onetrip during the time interval is received from the application. Forexample, the non-transitory computer-readable medium is implementedaccording to at least FIG. 1 , FIGS. 2A and 2B, FIGS. 3A and 3B, and/orFIG. 4 .

IV. Examples of Machine Learning According to Certain Embodiments

According to some embodiments, a processor or a processing element maybe trained using supervised machine learning and/or unsupervised machinelearning, and the machine learning may employ an artificial neuralnetwork, which, for example, may be a convolutional neural network, arecurrent neural network, a deep learning neural network, areinforcement learning module or program, or a combined learning moduleor program that learns in two or more fields or areas of interest.Machine learning may involve identifying and recognizing patterns inexisting data in order to facilitate making predictions for subsequentdata. Models may be created based upon example inputs in order to makevalid and reliable predictions for novel inputs.

According to certain embodiments, machine learning programs may betrained by inputting sample data sets or certain data into the programs,such as images, object statistics and information, historical estimates,and/or actual repair costs. The machine learning programs may utilizedeep learning algorithms that may be primarily focused on patternrecognition and may be trained after processing multiple examples. Themachine learning programs may include Bayesian Program Learning (BPL),voice recognition and synthesis, image or object recognition, opticalcharacter recognition, and/or natural language processing. The machinelearning programs may also include natural language processing, semanticanalysis, automatic reasoning, and/or other types of machine learning.

According to some embodiments, supervised machine learning techniquesand/or unsupervised machine learning techniques may be used. Insupervised machine learning, a processing element may be provided withexample inputs and their associated outputs and may seek to discover ageneral rule that maps inputs to outputs, so that when subsequent novelinputs are provided the processing element may, based upon thediscovered rule, accurately predict the correct output. In unsupervisedmachine learning, the processing element may need to find its ownstructure in unlabeled example inputs.

V. Additional Considerations According to Certain Embodiments

For example, some or all components of various embodiments of thepresent disclosure each are, individually and/or in combination with atleast another component, implemented using one or more softwarecomponents, one or more hardware components, and/or one or morecombinations of software and hardware components. As an example, some orall components of various embodiments of the present disclosure eachare, individually and/or in combination with at least another component,implemented in one or more circuits, such as one or more analog circuitsand/or one or more digital circuits. For example, while the embodimentsdescribed above refer to particular features, the scope of the presentdisclosure also includes embodiments having different combinations offeatures and embodiments that do not include all of the describedfeatures. As an example, various embodiments and/or examples of thepresent disclosure can be combined.

Additionally, the methods and systems described herein may beimplemented on many different types of processing devices by programcode comprising program instructions that are executable by the deviceprocessing subsystem. The software program instructions may includesource code, object code, machine code, or any other stored data that isoperable to cause a processing system to perform the methods andoperations described herein. Certain implementations may also be used,however, such as firmware or even appropriately designed hardwareconfigured to perform the methods and systems described herein.

The systems' and methods' data (e.g., associations, mappings, datainput, data output, intermediate data results, final data results) maybe stored and implemented in one or more different types ofcomputer-implemented data stores, such as different types of storagedevices and programming constructs (e.g., RAM, ROM, EEPROM, Flashmemory, flat files, databases, programming data structures, programmingvariables, IF-THEN (or similar type) statement constructs, applicationprogramming interface). It is noted that data structures describeformats for use in organizing and storing data in databases, programs,memory, or other computer-readable media for use by a computer program.

The systems and methods may be provided on many different types ofcomputer-readable media including computer storage mechanisms (e.g.,CD-ROM, diskette, RAM, flash memory, computer's hard drive, DVD) thatcontain instructions (e.g., software) for use in execution by aprocessor to perform the methods' operations and implement the systemsdescribed herein. The computer components, software modules, functions,data stores and data structures described herein may be connecteddirectly or indirectly to each other in order to allow the flow of dataneeded for their operations. It is also noted that a module or processorincludes a unit of code that performs a software operation, and can beimplemented for example as a subroutine unit of code, or as a softwarefunction unit of code, or as an object (as in an object-orientedparadigm), or as an applet, or in a computer script language, or asanother type of computer code. The software components and/orfunctionality may be located on a single computer or distributed acrossmultiple computers depending upon the situation at hand.

The computing system can include mobile devices and servers. A mobiledevice and server are generally remote from each other and typicallyinteract through a communication network. The relationship of mobiledevice and server arises by virtue of computer programs running on therespective computers and having a mobile device-server relationship toeach other.

This specification contains many specifics for particular embodiments.Certain features that are described in this specification in the contextof separate embodiments can also be implemented in combination in asingle embodiment. Conversely, various features that are described inthe context of a single embodiment can also be implemented in multipleembodiments separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations, one or more features from a combination can in some casesbe removed from the combination, and a combination may, for example, bedirected to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

Although specific embodiments of the present disclosure have beendescribed, it will be understood by those of skill in the art that thereare other embodiments that are equivalent to the described embodiments.Accordingly, it is to be understood that the present disclosure is notto be limited by the specific illustrated embodiments.

What is claimed is:
 1. A computer-implemented method performed by acomputing device for evaluating operation of an application installed ona mobile device of a user, comprising: determining, using first sensordata received at a first time from the application, a first location ofthe mobile device at the first time; determining, using second sensordata received at a second, later time from the application, a secondlocation of the mobile device at the second time; determining whether adistance between the first location and the second location exceeds athreshold; determining whether a trip log indicative of at least onetrip during a time interval from the first time to the second time isreceived from the application; and in response to the distance exceedingthe threshold and the trip log not being received, transmitting anotification to the user that the application does not operate properly.2. The computer-implemented method of claim 1, wherein the distancebetween the first location and the second location corresponds to thetime interval from the first time to the second time.
 3. Thecomputer-implemented method of claim 1 wherein the trip log includesthird sensor data collected and/or generated during the time intervaland indicating the mobile device is located in a moving vehicle duringthe time interval.
 4. The computer-implemented method of claim 3,wherein the first sensor data, the second sensor data, and the thirdsensor data are collected and/or generated by one or more sensors of themobile device of the user.
 5. The computer-implemented method of claim3, wherein each of the first sensor data, the second sensor data, andthe third sensor data includes accelerometer data, GPS data, gyroscopedata, and/or magnetometer data.
 6. The computer-implemented method ofclaim 3, wherein the third sensor data is collected and/or generated byone or more sensors of the mobile device when the mobile device islocated in the moving vehicle that is driven by the user.
 7. Thecomputer-implemented method of claim 1, wherein the application isconfigured to transmit the first sensor data periodically, atpredetermined time intervals when the application is triggered by anevent.
 8. The computer-implemented method of claim 1, furthercomprising: in response to the distance exceeding the threshold and thetrip log not being received, adjusting an amount of an insurancediscount; and transmitting a notification to the mobile deviceindicating that the amount of the insurance discount has been adjusted.9. A computing device for determining an operational status of anapplication on a mobile device of a user, comprising: a processor; and amemory having a plurality of instructions stored thereon that, whenexecuted by the processor, causes the computing device to: determine,using first sensor data received at a first time from the application, afirst location of the mobile device at the first time; determine, usingsecond sensor data received at a second, later time from theapplication, a second location of the mobile device at the second time;determine whether a distance between the first location and the secondlocation exceeds a threshold; determine whether a trip log indicative ofat least one trip during a time interval from the first time to thesecond time is received from the application; and in response to thedistance exceeding the threshold and the trip log not being received,transmit a notification to the user that the application does notoperate properly.
 10. The computing device of claim 9, wherein thedistance between the first location and the second location correspondsto the time interval from the first time to the second time.
 11. Thecomputing device of claim 9, wherein the trip log includes third sensordata collected and/or generated during the time interval and indicatingthe mobile device is located in a moving vehicle during the timeinterval.
 12. The computing device of claim 11, wherein the first sensordata, the second sensor data, and the third sensor data are collectedand/or generated by one or more sensors of the mobile device of theuser.
 13. The computing device of claim 11, wherein each of the firstsensor data, the second sensor data, and the third sensor data includesaccelerometer data, GPS data, gyroscope data, and/or magnetometer data.14. The computing device of claim 11, wherein the third sensor data iscollected and/or generated by one or more sensors of the mobile devicewhen the mobile device is located in the moving vehicle that is drivenby the user.
 15. The computing device of claim 9, wherein theapplication is configured to transmit the first sensor dataperiodically, at predetermined time intervals when the application istriggered by an event.
 16. The computing device of claim 9, wherein theplurality of instructions, when executed, further cause the computingdevice to: in response to the distance exceeding the threshold and thetrip log not being received, adjust an amount of an insurance discount;and transmit a notification to the mobile device indicating that theamount of the insurance discount has been adjusted.
 17. A non-transitorycomputer-readable medium storing instructions for determining anoperational status of an application on mobile device of a user, theinstructions when executed by one or more processors of a computingdevice, cause the computing device to: determine, using first sensordata received at a first time from the application, a first location ofthe mobile device at the first time; determine, using second sensor datareceived at a second, later time from the application, a second locationof the mobile device at the second time; determine whether a distancebetween the first location and the second location exceeds a threshold;determine whether a trip log indicative of at least one trip during atime interval from the first time to the second time is received fromthe application; and in response to the distance exceeding the thresholdand the trip log not being received, transmit a notification to the userthat the application does not operate properly.
 18. The non-transitorycomputer-readable medium of claim 17, wherein the trip log includesthird sensor data collected and/or generated during the time intervaland indicating the mobile device is located in a moving vehicle duringthe time interval.
 19. The non-transitory computer-readable medium ofclaim 18, wherein the first sensor data, the second sensor data, and thethird sensor data are collected and/or generated by one or more sensorsof the mobile device of the user.
 20. The non-transitorycomputer-readable medium of claim 17, wherein the instructions whenexecuted by the one or more processors further cause the computingdevice to: in response to the distance exceeding the threshold and thetrip log not being received, adjust an amount of an insurance discount;and transmit a notification to the mobile device indicating that theamount of the insurance discount has been adjusted.